package study01;

/*
*  Scanner   Random    util（实在util包里的，使用时需要引入，只不过编辑器会帮我们添加）
*  nextInt() ：获取下一个int数字。
*  nextLine() ：获取下一行完整字符串。
*
*  Random：
*  nextInt(n)；返回一个伪随机数，范围在0~指定值之间，不包括指定值
*
*  String    lang(在lang包里的，使用时不要引入)
*            equals && equalsIgnoreCase  （需要深入理解equals和== 在比较时的区别）
*            length()   // 获取字符串长度
*            concat();  // 将参数链接在原字符串末尾，返回值是一个新的string
*            charAt();     // 返回指定索引处的字符，返回值是一个char类型
*            indexOf    // 返回子字符串第一次出现的索引,如果没找到，返回-1。  // 返回值是一个int类型值
*            substring  // 字符串截取，从参数处开始截取到最后。  返回一个新的String
*                          若填了第二个参数，则从第一个参数开始，截取到第二个参数位置（不包含）
*            toCharArray  // 将字符串转化为char类型的数组，不接收参数，返回一个新的char数组。
*            getBytes     // 将字符串转化为byte类行的数组（每个char对应得ASCII表得值）不接收参数，返回一个新的byte数组。
*            replace     // 字符串替换，接受两个参数，用后面得参数替换前面得参数，返回一个新得字符串。
*            split      // 接收一个规则，将原字符串按照规则进行拆分，返回一个String类型得数组。
*            toUpperCase  // 不接收参数，返回一个新得字符串（全大写）
*            toLowerCase  // 不接收参数，返回一个新得字符串（全小写）
*            trim       // 不接受参数，返回一个新字符串（去掉原字符串首尾空格）
*
*  Object    它是顶级父类，被所有的类所继承。
*            native - 是C++提供的，不是Java本身的，用于和操作系统做交互。（了解）
*            toString重写  是否重写，看你用不用。 将对象的每个属性，遍历打印
*            equals重写    是否重写，看你用不用。 深层比较引用数据类型
*
*  Date
*            Date date = new Date();   获得日期对象   Sat Oct 24 19:17:18 CST 2020
*               参数为空，则表示获得当前日期
*               有参数，代表的是具体传入的时间
*            getTime  把日期对象转换成对应的时间毫秒值。
*            setTime  把方法参数给定的毫秒值设置给日期对象。
*            把日期对象转换为毫秒值：
*                  getTime（）；    系统提供了一个获取当前日期对应的毫秒值：System.currentTimeMillis()
*
*  DateFormat 抽象类（不能直接实例化），我们平常使用的是它的实现子类：SimpleDateFormat
*
*             Date => String
*             Date d = new Date);(
*             SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
*             sdf.format(d);
*
*             String => Date
*             String ss = "2020年10月24 19:29:36";
              SimpleDateFormat sdf = new SimpeDlateFormat("yyyy年MM月dd HH:mm:ss");
              Date dd = sdf.parse(ss);
              System.out.println(dd);
*
*  Calendar   是一个日历类，用于获取具体的年/月/日/时/分/秒
*              实例化日历对象： Calendar cal = Calendar.getInstance();
*              获取年份：cal.get( Calendar.YEAR)  ;
*              获取月份：cal.get(Calendar.MONTH) + 1;  // 因为月份是从0开始的
*              获取日期：cal.get(Calendar.DAY_OF_MONTH)
*              获取小时：cal.get(Calendar.HOUR)
*              获取二十四小时制：cal.get(Calendar.HOUR_OF_DAY）
*              获取分钟：cal.get(Calendar.MINUTE)
*              获取秒数：cal.get(Calendar.SECOND)
*              获取周几：cal.get(Calendar.DAY_OF_WEEK) - 1（周日为1）
*
*              设置日期：cal.set(year, 2, 1);   // 设置年月日
*                        set的时候有多个方法的重写，注意看.出来的方法面板
*              调整日期  cal.add(Calendar.DATE, -1);  // 第一个参数是字段，可填写多种
*
*  基本类型与包装类*
*              创建一个Integer类型的对象   Integer number = Integer.valueOf(100);
*              自动装箱与自动拆箱
*                   Integer i = 4;//自动装箱。相当于Integer i = Integer.valueOf(4);
*                   i = i + 5;//等号右边：将i对象转成基本数值(自动拆箱) i.intValue() + 5;
*                   //加法运算完成后，再次装箱，把基本数值转成对象。
*              基本类型转为字符串
*                   方式一： 基本类型的值 + ""    // 任何东西和字符串相加，都是拼接后的字符串。
*                   方式二： String.valueOf(基本类型的值)
*              字符串转为基本类型：
*                   除了Character类之外，其他所有包装类都具有parseXxx静态方法可以将字符串参数转换为对应的基本类型
*                   String bStr = "true";
                    boolean b = Boolean.parseBoolean(bStr);

*  StringBuilder
*           产生的意义：当String在做字符串拼接时，内存会开辟多个String对象，最终拼接成另一个新的String对象，耗时耗力。
*           注意：它没有算数运算符，不能用 = 、+ 来做运算。
*           创建：StringBuilder str = new StringBuilder();       // 空构造，值为“”
*                 StringBuilder str = new StringBuilder("aaa");  //  传参， 值为“aaa”
*           常用方法：
*                 append()  // 拼接
*                 reverse()   // 反转。
*           StringBuilder 与 String之间相互转换
*               String -> StringBuilder
*               String str = "aaa";
*               StringBuilder sb = new StringBuilder(str);
*               StringBuilder -> String
*               StringBuilder sb = new StringBuilder("xxxx");
*               String str = sb.toString();
*
*   Arrays     包含用来操作数组的各种方法，比如排序和搜索等。
*              常用方法：
*                   sort排序（从小到大）   注意：排序后会改变原数组。
*                   toString (重写Object的toString，将每个值拼接输出一串字符串)
*
*   Math       数学方法
*              常用方法：
*                   abs    求绝对值Math.abs();
*                   ceil   向上取整。
*                   floor  想下取整数。
*                   around 四舍五入
*
*
*
*
*
*
* */


import java.text.*;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Comparator;

public class Demo01_Scanner{
    public static void main(String[] args) throws ParseException {
        String strBoolean = "true";

        boolean b = Boolean.parseBoolean(strBoolean);


    }
}